﻿using BenCaoXuan.Infrastructure.Attr;
using BenCaoXuan.Infrastructure.Dto;
using BenCaoXuan.Infrastructure.Dto.Admin.customer;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BenCaoXuan.Service.Interface.admin
{
    [Provider_]
    public interface I_Customer_Service
    {
        /// <summary>
        /// 新增潜在客户
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<Api_Result_Dto> Add_Customer(AddCustomer_Dto dto, string? id);
      
        /// <summary>
        /// 新增客户跟进记录
        /// </summary>
        /// <param name="dto"></param>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<Api_Result_Dto> Add_CustomerFollow(AddCustomerFollow_Dto dto, string? id);
      
        /// <summary>
        /// 领取公海客户
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<Api_Result_Dto> Claim_The_Customer(ClaimTheCustomer_Dto dto, string? id);
       
        /// <summary>
        /// 完成客户跟进
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<Api_Result_Dto> Completed_FollowUp(IsBan_Dto dto, string? id);
       
        /// <summary>
        /// 获取客户的消费记录
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<Api_Result_Dto> Get_ConsumptionRecords(string? id);

        /// <summary>
        /// 获取客户
        /// </summary>
        /// <param name="fenye_Dto"></param>
        /// <returns></returns>
        Task<Api_Result_Dto> Get_Customer(Fenye_Dto fenye_Dto);
        
        /// <summary>
        /// 获取客户的跟进状态
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<Api_Result_Dto> Get_Customer_Follow(string? id);

        /// <summary>
        /// 获取所有的公海客户
        /// </summary>
        /// <param name="fenye_Dto"></param>
        /// <returns></returns>
        Task<Api_Result_Dto> Get_HightSeasCustomer(Fenye_Dto fenye_Dto);
    }
}
